layui.config({
    base : "/js/"
}).extend({
    "mframe" : "mframe"
})
layui.use(['form','layer','laydate','element','table','mframe'],function(){
    var form = layui.form,
        layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        element = layui.element,
        laydate = layui.laydate,
        mframe = layui.mframe,
        table = layui.table;
    var prefix = ctx + "system/dict/data";
    var datas = mframe.Dic.getDicList("sys_normal_disable");
    
	var tableIns = table.render({
	    elem: '#layui-table',
	    url:  prefix + '/list', //数据接口
	    page: true, //开启分页
	    autoSort: false, //禁用前端自动排序
	    method:"post",
	    response: {
	        statusName: 'code', //规定数据状态的字段名称，默认：code
	        statusCode: 0, //规定成功的状态码，默认：0
	        msgName: 'hint', //规定状态信息的字段名称，默认：msg
	        countName: 'total', //规定数据总数的字段名称，默认：count
	        dataName: 'rows' //规定数据列表的字段名称，默认：data
	    },
	    request: {
	        pageName: 'pageNum', //页码的参数名称，默认：page
	        limitName: 'pageSize' //每页数据量的参数名，默认：limit
	    },
	    where:{
	    	dictType:$("#dictType").val(),
	    	orderByColumn:'createTime',
	    	isAsc:'desc'
	    },
	    cols: [ 
	    [ 	{checkbox: true},
	        {
	    		field: 'dictCode',
	    		title: '字典编码'
	        },{
	        	field: 'dictLabel',
	            title: '字典标签',
	        },{
	        	field: 'dictValue',
	            title: '字典键值',
	        },{
	        	field: 'dictSort',
	            title: '字典排序',
	        },{
	        	field: 'status',
		        title: '状态',
		        templet:function(e){
		        	return mframe.Dic.getDictValue(datas,e.status);
		        }
	        },{
	        	field: 'remark',
	            title: '备注'
	        },{
	            field: 'createTime',
	            title: '创建时间',
	            sort:true
	        },{
	        	title: '操作',
	        	templet: function(e) {
					var a = [];
					a.push('<a class="layui-btn layui-btn-sm" lay-event="edit">编辑</a>');
					a.push('<a class="layui-btn layui-btn-sm layui-btn-danger" lay-event="del">删除</a>');
					return a.join("");
				}
	        }]
	    ]
	  });
	
	//排序
	table.on('sort(test)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
	  table.reload('layui-table', {
	    initSort: obj, //记录初始排序，如果不设的话，将无法标记表头的排序状态。 layui 2.1.1 新增参数
	    where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
	    	dictType:$("#dictType").val(),
	    	orderByColumn: obj.field, //排序字段   在接口作为参数字段  field order
	    	isAsc: obj.type //排序方式   在接口作为参数字段  field order
	    }
	  });
	});
	

    //搜索【此功能需要后台配合，所以暂时没有动态效果演示】
    $(".search_btn").on("click",function(){
        table.reload("layui-table",{
            page: {
            	pageNum: 1 //重新从第 1 页开始
            },
            where: {
            	dictType:$("#dictType").val(),
            }
        })
    });

    $(".add").click(function(){
    	var url = prefix + "/add/"+$("#dictType").val()
    	mframe.addOrUpdate(url,"添加字典数据");
    })

    //批量删除
    $(".delAll_btn").click(function(){
    	var url = prefix + "/remove"
    	mframe.removeAll(table,url,tableIns,"dictCode");
    })

    //列表操作
    table.on('tool(test)', function(obj){
    	var layEvent = obj.event,
            data = obj.data;
        if(layEvent === 'edit'){ //编辑
        	var url = prefix + "/edit/"+obj.data.dictCode
        	mframe.addOrUpdate(url,"编辑字典");
        } else if(layEvent === 'del'){ //删除
        	var url = prefix + "/remove";
        	mframe.remove(obj.data.dictCode,url,tableIns);
        }
    });

})